package com.dianjing.dianjing.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dianjing.dianjing.dto.input.PaintingPageInput;
import com.dianjing.dianjing.dto.input.WorksInput;
import com.dianjing.dianjing.dto.output.PaintingOutput;
import com.dianjing.dianjing.dto.output.WorksDetailOutput;
import com.dianjing.dianjing.entity.Painting;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  作品服务类
 * </p>
 *
 * @author owf
 * @since 2022-11-11
 */
public interface PaintingService extends IService<Painting> {

    /**
     * 作品展示列表
     * @param input
     * @return
     */
    IPage<Painting> show(PaintingPageInput input);

    /**
     * 作品详情
     * @param paintingId
     * @return
     */
    PaintingOutput detail(Long paintingId);

    Boolean worksUpload(WorksInput worksInput);

    List<Painting> seeMyWorks(Long painterId);

    List<Painting> seeWorks(Long typeId);

    WorksDetailOutput worksDetails(Long worksId);

    List<Painting> seeWorks(Long painterId, Long typeId);
}
